Beta

AI Personalization is now available in public beta. Migrate now to personalize search results based on historical and predictive user affinities.

To give your users with a personalized experience, you need to include the enablePersonalization and userToken parameters in your search requests. How you do this depends on your Algolia implementation.

You can also set enablePersonalization in your index settings instead of sending it as a search parameter. This way, every search on your index uses Personalization, unless you override this at query time by setting enablePersonalization to false. If you do this, you still need to include userToken in your search requests. If you don’t, Algolia doesn’t know which user affinity profile to apply to personalize the results.

userToken should match the one you’re using to send click and conversion events for a particular user.

Use the Personalization simulator. The simulator lets you compare personalized and non-personalized results and provides information to explain how Personalization affected the results.

Enabling Personalization with InstantSearch

Enable Personalization by using the configure' widget to set enablePersonalizationtotrueand includeuserToken`.

instantsearch.widgets.configure({
    enablePersonalization: true,
    userToken: 'user-1234',
});

Enabling Personalization using API clients

If you’re using an API clients to make search requests, include enablePersonalization and userToken as parameters in the search method.

Query query = new Query("query");
query.EnablePersonalization = true;
query.UserToken = "123456";

Enabling Personalization using the dashboard

You can automatically set enablePersonalization to true for any search requests made on an index you want to personalize results for.

To enable Personalization for an index, go to the dashboard’s Indices section, then Configuration > Relevance Essentials > Personalization, and set enablePersonalization to true.

If you want to turn Personalization off at query time, you can set enablePersonalization to false for those search requests.

Even if you enable Personalization on the dashboard, you still need to provide the userToken using either InstantSearch or an API client.